home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Topik
/
Topik - Disk 18 - Serious (19xx)(Topik Public Domain)(PD)[WB].zip
/
Topik - Disk 18 - Serious (19xx)(Topik Public Domain)(PD)[WB].adf
/
MemoPad
/
MemoPad.doc
< prev
next >
Wrap
Text File
|
1989-10-01
|
13KB
|
239 lines
MemoPad and CheckMemo are products which may be freely distributed
on the condition that they are not altered in any way, either by
omission or addition to the contents of the ARC file. The present
ARC file for the V1.1 release of MemoPad is exactly 80536 bytes in
length.
The author welcomes comments, suggestions for improvement, and any
praise you may have for this product. He may be reached at the
following address:
Michael Griebling
COMPUTER INSPIRATIONS
150 Clark Blvd., Suite One
Brampton, ON, Canada, L6T 4Y8
(416) 792-6797
In order to reward anyone wishing to be registered for a nominal fee
of $20, a disk containing the complete Modula-2 source for these
programs will be sent out along with a brochure giving details of
upcoming products.
Installing MemoPad & CheckMemo
==============================
I assume that if you are reading this that you have already de-ARCed
the MemoPad files. There should be a total of 7 files for this
program set. As soon as you invoked this program, all the names
were auto-magically expanded out, so you won't have to go through the
usual hassle of EXECUTING the Execute.Me file that is usual in these
cases. Why doesn't someone get around to providing an ARC utility
which will automatically do this if it encounters a longer name?
The CheckMemo utility will check whether any memo items have been
entered for today's date. So, in order to do this automatically
when the AMIGA is powered on, a `CheckMemo' command should be placed
in your S:Startup-Sequence file, right after any additions or prompts
which normally set the date. Next, place the CheckMemo and
CheckMemo.info files in your C: directory or on one of the paths that
you add to the command search list. That's all there is to the
installation -- easy wasn't it. Note: you can also manually check
the memo items simply by typing `CheckMemo' from CLI or by clicking
on the CheckMemo icon. The latter operation may be tricky if both
CheckMemo and CheckMemo.info are placed in the C: directory, unless
you keep another copy at the top-level of the WorkBench disk or along
with the MemoPad. If nothing happens except a disk access when you
invoke CheckMemo, don't worry -- it just means that no memo items
were found for today's date.
The MemoPad utility, which creates the memo items read by CheckMemo,
may be placed on any convenient working disk which would ordinarily
be used during your work/play/recreation time with the AMIGA. Simply
drag the icon over to your working disk, or from CLI, copy over both
MemoPad and MemoPad.info to the working disk.
MemoPad Operation
=================
MemoPad is a WorkBench utility which runs in a separate window on
the WorkBench screen. It is capable of allowing you to generate memo
items which are simply dated reminders of appointments, birthdays,
holidays, or any message which can be held on five lines of text.
When MemoPad is first invoked, it searches the S: device directory
for a file called MEMOPAD.DAT. This file contains all the memo items
which have been entered by yourself. Naturally, the first time it is
invoked, MemoPad won't find this file and will attempt to create one.
At this time, you may get a message indicating that the WorkBench
disk is required or that you should unprotect the write tab.
During start-up, one other file is accessed : MEMOPAD.CUS. This file
contains user customization information which allows you to customize
the MemoPad operation to your individual preferences via the
CUSTOMIZE menu selection in MemoPad. If this file is not found,
MemoPad makes some assumptions and gives you a 24-hour clock, a
day-month-year date, and a plain MemoPad title. Naturally, you can
customize all these parameters and the next time MemoPad is invoked,
all your selections will be used. By the way, the same selections
will also be used by CheckMemo.
I felt that everyone would have WorkBench in their drive during
startup, so this is where MemoPad normally assumes it will find your
memo items. If you don't like these files on your WorkBench disk,
then it is possible to reassign the S: device to some other disk. If
you do this in the Startup-Sequence file, just before invoking
CheckMemo, you will be prompted to insert whatever disk was assigned
to the S: device.
Other Nifty Things
==================
MemoPad lets you specify repeated memo items which occur fairly
regularly on a daily, weekly, monthly, or annual basis for a fixed
length of time. To generate such a memo item, first you'll have to
enable repeats by selecting one of the repeat choices in the REPEAT
MEMO menu list. By default, repeats will be disabled as is shown by
the checkmark in front of the "No Repeat" menu item. Choose one of
the repeat options and use the NEXT or PREV buttons to get to the
memo you wish to have repeated. Click on the DATE button, and use
the Date Window controls to get to the starting date to be repeated.
Click on the desired date. All repeated dates will now also be
selected. Use the Date Window controls to check them if you don't
believe it could be that easy. Click on the OK button to close the
Date Window and accept the chosen date; otherwise, just click on
the QUIT button to keep whatever date was originally on your memo
item.
The FIND button and the related menu item will let you find one memo
out of the list of memo items which you have defined. Click on this
button, use the Date Window controls to maneuver to the desired date,
and click on the date to be found. Click on the OK button and the
first memo item with this date will be located and displayed. This
date search may be cancelled by clicking on the QUIT button. If the
date is not found, a message saying this will be displayed in the
Help Window. A trick, which may be used to find any memo item in
a given month might be to select the daily repeat for a month before
clicking on the Date button. Any date which is selected will now
cause a search throughout the entire repeat range for any matching
memo item dates.
The Help Window is a context sensitive help feature which displays
help messages as various buttons and/or menu selections are made.
There is never any need to worry whether or not all your memo items
have been saved to disk! MemoPad will automatically update the disk
file, as soon as it notices that some memo item has been changed.
Even if some other program should cause the AMIGA to crash in a
shower of fireworks, you'll be secure in the knowledge that your
memo items are safe.
About the Modula-2 Source
=========================
Probably the first question anyone (especially `C' hackers) would ask
is: Why use Modula-2? As a company, Computer Inspirations has a
vested interest in the success of its products. Part of the measure
of a successful product is the ease with which any product can be
updated to meet new and anticipated needs of its users. We feel that
Modula-2 provides such a vehicle through the use of modern software
design principles such as object-oriented programming techniques and
Dave Parnas' information hiding principles. In addition, Modula-2
provides a more readable source file which, with the addition of
suitable comments, can give software maintenance personnel greater
productivity. Of course, `C' die-hards would argue, and justifiably
so, that `C' also provides commenting facilities and does not have
to be cryptic. We would agree with this in principle; unfortunately,
in practice, the same people who thrive on the so-called `concise'
representation possible using `C' will also shun the use of good
commenting techniques. In the final analysis, with the proper
tools (compiler, debugger, etc.), Modula-2 code can be just as
compact and fast as `C' code -- without the need for brain-damaging
syntax.
We, as a company, provide the source code for MemoPad and CheckMemo
primarily to give interested individuals the tools for programming
the Amiga using the Intuition-based interface. Included in the
source are many examples of gadget-based control, menu initialization
and use, window creation and manipulation, and requester window use.
Although bits and pieces of what we do are available in separate
sources, we feel that having an example which unites all the working
principles required to produce a full program is beneficial in its
own right. As a final note, this program does not show the full
benefits of the new software design principles since that was not its
purpose. We do use comments and structured design principles. This
program fails to make full use of the information-hiding metho-
dologies in some places -- but it is better than a comparable `C'
program in this respect. Our primary aim, of course, was to produce
a program from which others could see how to work within an
Intuition-based environment; and in this respect, we feel that we
have succeeded.
Acknowledgements
================
As always, there are a bunch of people behind the scenes who must be
thanked for their contributions, either direct or indirect, to a
program such as this. Firstly, thanks to TDI for their Modula-2
compiler, which may not be fastest or the best, but it certainly was
the first. Secondly, thanks to all the people who have contributed
public-domain programs to demonstrate Modula-2 concepts and give
others source code examples upon which to build. In particular,
thanks to Richie Bielak for his FastTextIO routines, used in this
previewer. We also appreciate the artistic talents of Anna-Lise
Scheel, Colour Consultant, for her work on MemoPad. Thanks also to
all the Beta test sites (you know who you are) for their assistance
and helpful comments. Thanks also to the people who brought us
PowerWindows which was used as a starting point for the design of
windows, gadgets, menus, and requesters used in both MemoPad and
CheckMemo. Although, the Modula-2 extensions to this program are
VERY buggy and have been given inadequate thought, the tool has been
useful. Finally, thanks to the makers of the Amiga -- without whom
none of this would have been possible.
Bug Fixes
=========
Much as we hate to admit it, a few bugs crept into the V1.0 release
of MemoPad and CheckMemo. Thanks to the people who pointed out the
bugs (people tend to do that). All known bugs as listed below have
been exterminated :
Bug 1.0-1 The programs stomped over memory location 00000000
while starting up and initializing the Date window.
Although this bug didn't usually cause the programs
to crash, sometimes, if another program depended on
something in memory location 00000000, a crash could
occur. As a matter of fact, if both MemoPad and
CheckMemo were running together (yes, they can do
that too), closing down one would cause the other
one to crash the Amiga. In our defense, the bug
was traced to a pointer to a pointer which the
current V3.0a TDI Modula-2 compiler doesn't seem to
handle very well. PowerWindows forced us to use
the awkward pointer to a pointer syntax (they must
be `C' programmers!), hence our memory stomping.
Bug 1.0-2 To our shock, we discovered that the DOS date was
in error by one day (at least during this leap year).
It worked fine last year. ;-)
A new algorithm is now being used.
About Computer Inspirations
===========================
Although COMPUTER INSPIRATIONS is fairly new to the AMIGA and other
personal computers, we have gained considerable experience in
software and hardware development from work in the aerospace industry
and from a university environment. We are committed to bringing
quality products to AMIGA owners at affordable prices. We will make
certain that all our products reflect this attention to detail and
we will respond promptly to any customer problems or concerns.
Michael Griebling,
President, COMPUTER INSPIRATIONS